Today many enterprises now use cloud-based computing platforms that allow services and data to be accessed over the Internet (or via other networks). Infrastructure providers of these cloud-based computing platforms offer network-based processing systems that often support multiple enterprises (or tenants) using common computer hardware and data storage. This “cloud” computing model allows applications to be provided over a platform “as a service” supplied by the infrastructure provider.
Multi-tenant cloud-based architectures have been developed to improve collaboration, integration, and community-based cooperation between customer tenants without compromising data security. Generally speaking, multi-tenancy may refer to a system where a single hardware and software platform simultaneously supports multiple customers or tenants from a common data storage element (also referred to as a “multi-tenant data store”). The multi-tenant design provides a number of advantages over conventional server virtualization systems. First, the multi-tenant platform operator can often make improvements to the platform based upon collective information from the entire tenant community. Additionally, because all users in the multi-tenant environment execute applications within a common processing space, it is relatively easy to grant or deny access to specific sets of data for any user within the multi-tenant platform, thereby improving collaboration and integration between applications and the data managed by the various applications. The multi-tenant architecture therefore allows convenient and cost effective sharing of similar application feature software between multiple sets of users.
A cloud-based computing environment can include a number of different data centers, and each data center can include a number of instances, where each instance can support many tenants (e.g., 10,000 tenants or more). As such, large numbers of tenants can be grouped together into and share an instance as tenants of that instance. Each tenant has its own organization (or org). An organization or “org” is a unique identifier (ID) that represents that tenant's data within an instance. Each identifier defines a virtual or logical space provided to an individual tenant (e.g., a defined set of users) where all of that tenant's data and applications are stored within an instance so that it is separate from that of all other organizations that are part of that instance. An organization can be thought of as a logical container for one cohesive set of related data, metadata, configurations, settings and schemas that is separate from that of all other organizations. Each organization can be highly customized with respect to other organizations that are part of the same instance, and can include custom fields, custom objects, workflows, data sharing rules, visual force pages and apex coding because even though all tenants with an instance share the same database, the organization ID is stored in every table to ensure that every row of data is linked back to the correct tenant and the data from other tenants sharing the same instance cannot be mixed up.
Recently, a new activity timeline feature has been developed that allows users within an organization to view of an external contact's activities over time. This “organization activity timeline” can collect the most recent activities associated with a particular external contact together, and display them as a visual component in a user interface that arranges past activities and upcoming or future activities chronologically across a dimension of time. By displaying a record of activities in the organization activity timeline, user's within the organization can better understand information about another person or entity that is external to the organization.
Each activity that is displayed in the organization activity timeline has at least one contributor who is a particular user within the organization. Currently, contributions by any user within the organization who contributes to an activity are displayed within the organization activity timeline.